import { IPSBICubeLevel } from './ipsbicube-level';
import { IPSSysBICubeDimensionObject } from './ipssys-bicube-dimension-object';
import { IPSSysBIHierarchy } from './ipssys-bihierarchy';
import { IPSSysBILevel } from './ipssys-bilevel';

/**
 *
 * @export
 * @interface IPSSysBICubeLevel
 */
export interface IPSSysBICubeLevel extends IPSBICubeLevel, IPSSysBICubeDimensionObject {
  /**
   * 智能报表维度架构
   *
   * @type {IPSSysBIHierarchy}
   */
  getPSSysBIHierarchy(): IPSSysBIHierarchy | null;

  /**
   * 智能报表维度架构
   *
   * @type {IPSSysBIHierarchy}
   */
  get psSysBIHierarchy(): IPSSysBIHierarchy | null;

  /**
   * 智能报表维度架构（必须存在）
   *
   * @type {IPSSysBIHierarchy}
   */
  getPSSysBIHierarchyMust(): IPSSysBIHierarchy;

  /**
   * 智能报表维度层级
   *
   * @type {IPSSysBILevel}
   */
  getPSSysBILevel(): IPSSysBILevel | null;

  /**
   * 智能报表维度层级
   *
   * @type {IPSSysBILevel}
   */
  get psSysBILevel(): IPSSysBILevel | null;

  /**
   * 智能报表维度层级（必须存在）
   *
   * @type {IPSSysBILevel}
   */
  getPSSysBILevelMust(): IPSSysBILevel;
}
